package com.negocio.beans;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.negocio.dao.UsuarioDAO;
import com.negocio.entidades.Usuario;
import com.negocio.facade.UsuarioRemote;

/**
 * Session Bean implementation class UsuarioBean
 */
@Stateless
@LocalBean
public class UsuarioBean implements UsuarioRemote {	
	@PersistenceContext(unitName = "SystemgedBD")
	private EntityManager em;

	/**
     * Default constructor. 
     */
    public UsuarioBean() {
        // TODO Auto-generated constructor stub
    }
    
	public Usuario salvar(Usuario u) throws Exception {
		UsuarioDAO dao = new UsuarioDAO(em);
		return dao.salvar(u);
	}

	public void excluir(long id) {
		UsuarioDAO dao = new UsuarioDAO(em);
		dao.excluir(id);
	}

	public Usuario consultarPorId(long id) {
		UsuarioDAO dao = new UsuarioDAO(em);
		return dao.consultarPorId(id);
	}
	
	public List<Usuario> listar() {
		UsuarioDAO dao = new UsuarioDAO(em);
		List<Usuario> usuarios = new ArrayList<Usuario>();
		usuarios = dao.listar();
		return usuarios;
	}
	
	 public Usuario isValidLogin(String login, String senha) {
		  UsuarioDAO dao = new UsuarioDAO(em);
		  Usuario usu = null;
		  try {
			  usu = dao.findUsuByLogin(login);
		  } catch (Exception e) {
			System.out.print("Erro ao validar login. "+e.getMessage());
		  }
		  
		  
		  if (usu == null || !usu.getSenha().equals(senha)) {
		   return null;
		  }

		  return usu;
	}

}
